#pragma once

#include "stdafx.h"
#include "ContinuousTimeOptionBase.h"
#include "testing.h"

/**
 *   This states that all path independent options
 *   have a payoff determined by the final stock price
 */
class PathDependentOption :
    public ContinuousTimeOptionBase {
public:
    /*  A virtual destructor */
    virtual ~PathDependentOption(){};
    /*  Compute the payoff from a price path */
    virtual double payoff(
        const std::vector<double>& stockPrices) const {};
    /*  Is the option path dependent? */
    bool isPathDependent() const {
        return true;
    };
};
